1. Field of the Invention
This invention relates generally to a system and related method for displaying data representative of a plurality of two-dimensional planes of samples of an attribute of an object to produce a three-dimensional image of the attribute, and more specifically to a system and related method for modifying that data and the resultant image rapidly and interactively in response to user commands.
2. Background Information
As illustrated in FIG. 1, a prior art system for displaying data representative of a plurality of two-dimensional planes of samples of an attribute of an object to produce a three-dimensional image of the object typically includes a data input device, a user input device, a host processor, memory, and a raster-based display subsystem.
The raster-based display subsystem typically includes a vari-focal mirror ("VFM") assembly having a VFM driver input to a VFM mirror, a cathode-ray tube ("CRT") having horizontal deflection, vertical deflection, and brigtness inputs, and a display controller.
The display controller typically includes hardware look-up table ("LUT") circuitry, a brightness digital-to-analog ("D/A") converter, sweep control circuitry, correction circuitry, horizontal and vertical deflection D/A converters, clocking circuitry, VFM driver circuitry, and a VFM driver D/A converter.
The system further comprises a data bus linking the data input device to the host processor, a data bus linking the host processor to the memory, a data bus linking thememory to the LUT circuitry and to the sweep control circuitry, and a control bus linking the host processor to the display controller.
The raster-based display subsystem further comprises a brightness control line linking the brightness D/A converter to the brightness input of the CRT, a horizontal deflection control line linking the horizontal deflection D/A converter to the horizontal deflection input of the CRT, a vertical deflection control line linking the vertical deflection D/A converter to the vertical deflection input of the CRT, and a VFM driver control line linking the VFM D/A converter to the VFM driver input of the VFM assembly.
The user input device is typically linked directly to the host processor. Within the display controller, the LUT circuitry is typically linked to the brightness D/A converter; the sweep control circuitry is typically linked to the correction circuitry which in turn is linked to the horizontal and vertical D/A converters; the clocking circuitry is typically linked to the sweep control circuitry and to the VFM driver circuitry; and the VFM driver circuitry is typically liked to the VFM driver D/A converter.
In the prior art system, the host processor typically receives input data representative of equally-spaced two-dimensional planes of samples ("sample planes") of an attribute of an object from the data input device, and formats that data to obtain an image file comprised of image data also representative of the sample planes. Each image datum corresponds to a location within the object, and is comprised of sample magnitude bits having a value determined by the sample of the attribute of the object at that location, and transformation control bits to be used by the LUT circuitry of the display controller to transform the sample magnitude bits in a subsequent displaying step.
The LUT circuitry transforms theimage data to obtain transformed data representative of a plurality of two-dimensional rasters of picture elements ("pixel rasters") of a volume of pixels ("pixel volume"). Each transformed datum corresponds to a location within the object and is comprised of brightness magnitude bits having a value determinative of the brightness of the resultant image of the attribute at that location within the image. For example, with respect to FIG. 2, input datum ID-1, ID-2, . . . ID-N representative of equally-spaced two-dimensional planes PL-1, PL-2 . . . PL-N of samples S-1, S-2 . . . S-N of an attribute of an object O is formatted by the host processor to obtain image datum D-1, D-2 . . . D-N also representative of the sample planes. Image datum D-1, D-2 . . . D-N are transformed to obtain transformed datum TD-1, TD-2 . . . TD-N representative of a plurality of two-dimensional rasters R-1, R-2 . . . R-N of pixels P-1, P-2 . . . P-N of pixel volume V.
The host processor then computes control data for the image data defining the start of each sample plane and the start of each raster, and embeds the control data within the image data. The control data is used by the display subsystem to determine an appropriate time to begin displaying the image data repesentative of the plane. The display subsystem displays the image data of all planes within a display cycle comprised of intervals of time known as pixel intervals. The control data for a plane indicates the appropriate pixel interval within the display cycle to begin displaying the image data of the plane. The embedded control data is computed by the host processor so that successive two-dimensional images obtained by displaying image data representative of successive equally-spaced sample planes are also equally spaced.
The host processor stores image data in the memory, and signals the display controller that the data is available for displaying.
The display controller displays the image data by displaying one datum at a time. To display the image data of a sample plane, the display controller retrieves the data representative of the plane from memory, and begins displaying the data at the pixel interval within the display cycle indicated by the control data embedded within the data. The display controller displays each datum of the plane during a pixel interval. During the pixel interval, the LUT circuitry assigns a brightness magnitude value to theimage datum to obtain a transformed datum having that value in accordance with the value of the transformation control bits of that datum, and in some cases, the value of the sample magnitude bits of that datum. Simultaneously, the sweep control circuitry generates horizontal and vertical deflection datum, the values of which are modified by the correction circuitry to correct for anomalous perspective as described by L. D. Harris and J. J. Camp in Display and Analysis of Tomographic Volumetric Images Utilizing a Vari-Focal Mirro, Society of Photo-Optical Instrumentation Engineers (SPIE), Vol. 507--Processing and Display of Three--Dimensional Data II (1984), which is herein incorporated by reference.
The brightness magnitude value, and the modified horizontal and vertical deflection values are respectively converted to analog signals by the brightness, horizontal, and vertical deflection D/A converters and input to the brightness, horizontal, and vertical deflection inputs of the CRT, respectively.
Also during the pixel interval, and simultaneously with the display of the image datum, the VFM driver circuitry generates VFM driver datum which are in the form of a sampled sine-wave. The value of the VFM driver datum is converted to an analog signal by the VFM driver D/A converter, and input to the VFM driver input of the VFM mirror thereby causing the mirror to vibrate. The motion of the mirror is representative of a sinusoidal motion, and the mirror moves within the confines of a spherical cavity. The mirror completes one cycle during the time interval required to display all pixels of all the rasters.
The host processor tyically receives user commands from the user input device, and either modifies the transformation control bits of selected image datum in response to such commands to obtain a modified image datum. When the modified data is processed by the display controller, a modified three-dimensional image is produced. P Such modifications tyically take an inordinate amount of time for a prior art system to implement, which diminishes the user interactivity and hence the utility of such systems. For example, in medical imaging applications, the utility of such systems depends on the ability of the system to rapidly suppress the displaying of selected data in response to user commands and thereby slice or peel away selected portions of the resultant three-dimensional image to reveal portions of the image previously hidden by the peeled-away portions.
To improve user interactivity, the prior art host processor is typically programmed to form a file of image data, modify a copy of the file while the image data of the file is being displayed, form a file of modified image data, store the modified file in memory, and to thereafter signal the raster-based display subsystem to display the modified image data of the modified file.
Such an improvement is limited however by the architecture and software design of the prior art system, which does not allow rapid user interactivity in the case when the control or image datum must be modified. Instead, the architecture and software design of the system were chosen at the outset to achieve the more limited objective of displaying a three-dimensional image, a necessary first step in the development of an interactive system and a significant advance over the state of the art at the time.
For example, the prior art host processor is typically not efficient in rapidly modifying large amounts of data in response to user commands, must content with the raster-based display subsystem when accessing memory to respond to such commands, and is physically distant from such memory. In addition, the memory is typically only large enough to store two modified files of image data, thus, limiting the ability of a user to form a plurality of modified files, and to thereafter rapidly switch between displaying the data of the files in response to commands. Finally, embedding control data within the imagedata representative of a sample plane is inefficient, since the host processor cannot easily change the embedded data in response to user commands. Such architectural and design choices together contribute to the inordinate amount of time required by the prior art system to implement many user commands.
In a variation of the aforementioned prior art system, and also to improve interactivity, the input data is formatted to obtain image data representative of sample points instead of sample planes, and the display subsystem is a point-plotting display subsystem instead of a raster-based display subsystem.
In the variant system, input data is formatted to obtain image data representative of a plurality of equally-spaced sample points within an object. Each image datum corresponds to a location within the object having horizontal, vertical, and depth components, and each is transformed to obtain a transformed datum corresponding to a location within the object comprised of brightness magnitude bits having a value determinative of the brightness of the resultant image of the object at that location within the image, and horizontal and vertical deflection bits having values determined by the horizontal and vertical components of the corresonding location within the object. The transformed datum is combined to form a file, and each transformed datum is stored within a subfile of the file according to the value of the depth component of the corresponding location within the object.
For example, with reference to FIG. 3, each transformed datum TD11, TD12, TD21, . . . TDNN within the file DF corresponds to a location within the object having horizontal, vertical, and depth components X, Y, and Z respectively. Furthermore, each transformed datum TD11, TD12, TD21, . . . TDNN is comprised of brightness magnitude bits B11, B12, B21, . . . BNN respectively having values determinative of the brightness of the resultant image at the corresponding location within the image, and is further comprised of horizontal and vertical deflection bits having values determined by the horizontal and vertical components (X11, Y11), (X12, Y12), (X21, Y21), . . . (XNN, YNN) of the corresponding locations within the objects. Each transformed datum TD1U, TD2V . . . TDNW is stored within a subfile of the file, SF-1, SF-2 . . . SF-N respectively, according to the value of the depth component, Z1, Z2 . . . ZN respectively of the corresponding location within the object. Thus, transformed datum corresponding to locations having depth components Z1, Z2 . . . ZN are stored within sufiles SF-1, SF-2 . . . SF-N respectively. The storage of such datum is described more fully by S. M. Pizer in Interactive Varifocal Mirror Display Based on a Standard Raster-Graphics System, The Institute for Graphic Communication (IGC) Conference on Three-Dimensional Display Techniques, Carmel, Ca. (May 16-18, 1982), which is herein incorporated by reference.
The point-plotting display subsystem of the variant prior art system displays the transformed data of a file structured as above in a different manner than the raster-based display subsystem of the prior art system. For example, the display controller of the variant prior art system begins displaying the transformed data of a subfile at a pixel interval within the display cycle indicated by the depth component of the subfile rather than as indicated by embedded control data. Also, the display controller of the variant prior art system obtains horizontal and vertical deflection data from the transformed data of a file rather tha from sweep control circuitry.
Such a variation improves user interactivity since the amount of data displayed during a display cycle of the variant prior art system is typically less than the amount of data displayed during a display cycle of the prior art system, and modification of the data in the variant system is thereby faster. However, the quality of the three-dimensional image produced by the variant prior art system is poorer, since less data is used to produce the image.
Accordingly, an object of the subject invention is to display data representative of a plurality of two-dimensional planes of samples of an attribute of an object to produce a high-quality three-dimensional image of that object, and to modify that data and the resultant image rapidly and interactively in response to user commands.
Additional objects and advantages of the invention will be set forth in the description which follows or may be learned by practice of the invention.